home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / cc / rtf2ascii.h < prev    next >
Text File  |  1994-01-04  |  1KB  |  40 lines

  1.  
  2. // rtf2ascii.h
  3.  
  4. #import <string.h>
  5. #import <streams/streams.h>
  6.  
  7. #define RTF_HEADER     "{\\rtf0\\ansi"
  8. #define RTF_HEADER_LEN 11
  9.  
  10.  
  11. // A predicate to quickly check a region of possibly-rich memory (starting
  12. // at rtfText and going for length len) to see if it is convertible by the
  13. // following routines.
  14.  
  15. static inline int isRTFText(const char * rtfText, int len) 
  16. {
  17.    return (rtfText 
  18.        && (len > RTF_HEADER_LEN) 
  19.        && !strncmp(rtfText, RTF_HEADER, RTF_HEADER_LEN));
  20. }
  21.  
  22.  
  23. // A memory-buffer-based conversion that reads one buffer pointed to by 
  24. // rtfTextPtr and converts, for length rtfTextLen, RTF to ASCII.  A pointer
  25. // to a newly allocated buffer of memory is returned (caller owns this 
  26. // memory).  Additionally, asciiTextLen is set to the length of the
  27. // null-terminated ascii character buffer.
  28.  
  29. extern const char * rtfToAscii( const char *rtfTextPtr, 
  30.                 int rtfTextLen, 
  31.                 int * asciiTextLen );
  32.  
  33.  
  34. // A streams-based converter which takes an NXStream and either returns back 
  35. // a new memory stream that has been converted to straight ASCII (the caller
  36. // should free this with NXCloseMemory()).
  37.  
  38. extern NXStream * rtfToAsciiStream(NXStream * possiblyRichStream);
  39.  
  40.